#include "VoERxVadCallbackImpl.h"


VoERxVadCallbackImpl::VoERxVadCallbackImpl(void)
{
	m_mid_OnRxVad = 0;
}

VoERxVadCallbackImpl::~VoERxVadCallbackImpl(void)
{
}

bool VoERxVadCallbackImpl::init_jni(JNIEnv* env)
{
	bool result = false;

	do 
	{
		m_mid_OnRxVad = (env)->GetMethodID(m_cls, "onRxVad", "(II)V");
		if(!m_mid_OnRxVad)
			break;

		result = true;

	} while (false);

	return result;
}

void VoERxVadCallbackImpl::OnRxVad(int channel, int vadDecision)
{
	JNIEnv* env = 0;

	if(before(&env))
	{
		(env)->CallVoidMethod(m_obj, m_mid_OnRxVad, channel, vadDecision);

		after(env);
	}
}